
/** 
 * 1数据类型：any
 * 概念： any 代表任意类型 ,一般在不确定类型时使用
 * 
*/

let txtName: any = document.getElementById("txtN")


/**
 * 2数据类型:void 
 * 概念：void 代表没有类型，一般用在没有返回值的函数
 * 
 */

 //在 ts中 函数一般需要声明返回值类型，如果此函数没有返回值，可以使用void

//  有返回值
function sayHi1():string {
    return "hi 你好啊"
}

//  无返回值
 function sayHi2():void {
     console.log("讨厌，死鬼····");
}
 
/**
 * 3 数据类型：never
 * 概念:never 代表不存在的值的类型，常用作为抛出异常或无限循环的函数返回类型
 * 
 */

 //例子1 
 function test():never {
     while (true) {
         
     }
 }

//  例子2
function test2():never {
    throw new Error("抛出错误")
}


/**
 * 4 数据类型 ；类型推断
 * 概念：如果变量的声明和初始化是在同一行，可以省略掉变量类型的声明
 *
 * let 变量名 = 值;
 * 相当于===>let 变量名：变量类型 = 值;
 *  
 */

let myName = "李兵";
// 等同于 ==>let myName:string = "李兵"


/**
 * 5 数据类型：联合类型
 * 概念：表示取值可以为多种类型中的一种
 * let 变量名：变量类型1|变量类型2 = 值;
 * 
 */


let dName: string | null | number = '哈哈哈';
//可以赋值多种类型之一
dName = 12;

